HAL FMAC I/O operation function migration

This section provides information about the HAL FMAC function migration.

HAL FMAC append data to the FMAC filter

HAL1

HAL2

HAL_FMAC_AppendFilterData(FMAC_HandleTypeDef *hfmac, int16_t *pInput, uint16_t *pInputSize);
Removed: in HAL2 HAL_FMAC_WriteX1()/HAL_FMAC_WriteX1_IT()/HAL_FMAC_WriteX1_DMA()/HAL_FMAC_WriteX1_DMA_Opt()
         are used instead depending on the access mode.

Related use case: Use case: FIR or IIR (interrupt input X1, DMA output Y)


HAL FMAC preload the filter

HAL1

HAL2

HAL_FMAC_FilterPreload(FMAC_HandleTypeDef *hfmac, int16_t *pInput, uint8_t InputSize,
                                int16_t *pOutput, uint8_t OutputSize);
Removed: in HAL2, filter data preloading is split into two preloading functions: HAL_FMAC_PreloadX1() and HAL_FMAC_PreloadY()

HAL FMAC preload the filter using DMA

HAL1

HAL2

HAL_FMAC_FilterPreload_DMA(FMAC_HandleTypeDef *hfmac, int16_t *pInput, uint8_t InputSize,
                                    int16_t *pOutput, uint8_t OutputSize);
Removed: in HAL2, filter data preloading is split into two preloading functions: HAL_FMAC_PreloadX1_DMA() and HAL_FMAC_PreloadY_DMA()

HAL FMAC start the filter

HAL1

HAL2

HAL_FMAC_FilterStart(FMAC_HandleTypeDef *hfmac, int16_t *pOutput, uint16_t *pOutputSize);
Removed: in HAL2, filter data is split into two filtering functions: HAL_FMAC_StartFilterFIR() and HAL_FMAC_StartFilterIIR()

Related use cases:


HAL FMAC stop the filter

HAL1

HAL2

HAL_FMAC_FilterStop(FMAC_HandleTypeDef  *hfmac);
HAL_FMAC_StopFilter(hal_fmac_handle_t *hfmac);

HAL FMAC poll for filter data availability

HAL1

HAL2

HAL_FMAC_PollFilterData(FMAC_HandleTypeDef *hfmac, uint32_t Timeout);
Removed: Instead, use HAL_FMAC_WriteX1() to fill the input FIFO and HAL_FMAC_ReadY() to fill the output FIFO.